package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import org.springframework.data.annotation.Transient;

import java.util.ArrayList;
import java.util.List;

/**
 * 描述 运管平台管理对象 t_platform_management
 * 作者 ZhangPing
 * 创建时间 2023/9/06 15:22
 */
@NoArgsConstructor
@AllArgsConstructor
@Data
@Accessors(chain = true)
@TableName(value = "t_platform_management", excludeProperty = "remark")
@ToString
public class PlatformManagement extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 组织ID */
    @TableId(type = IdType.INPUT)
    private Long id;

    /** 父组织ID */
    private Long parentId;

    /** 祖级列表 */
    private String ancestors;

    /** 组织名称 */
    private String platformName;

    /** 显示顺序 */
    private Integer orderNum;

    /** 负责人 */
    private String leader;

    /** 联系电话 */
    private String phone;

    /** 邮箱 */
    private String email;

    /** 地址 */
    private String address;

    /** 标识 */
    private Integer tag;

    /** 父组织名称 */
    @TableField(exist = false)
    @Transient
    private String parentName;
    
    /** 子组织 */
    @TableField(exist = false)
    private List<PlatformManagement> children = new ArrayList<PlatformManagement>();
}
